# 定义列表变量
# 列表手中可以放不同类型的元素
# 列表是一个有序的集合,可以通过索引进行访问,起始索引从0开始
lst = ['a','b','c','d','e','f','g']

# 列表的长度
def getLen():
    print(len(lst))

# 用索引取值的方式
def testIndex():
    item = lst[0]
    print(item)

# 索引的范围 0 到 len(lst)-1
def testIndexRange():
    print(lst[len(lst)-1])

# 追加元素,可以是不同的数据类型
def testAppend():

    # lst = lst + ['h','j','k']

    lst.append('d')
    lst.append(5)

# 迭代
def show():
    for l in lst:
        print(l)


# 指定位置插入数据
def testInsert():
    lst.insert(2,'ccc')
    lst.insert(1,'ddd')

# 删除末尾元素
def testDelete():
    lst.pop()

# 修改元素的值,直接通过索引进行赋值,就可以修改了
def testEdit():
    lst[1] = "hello"
    # lst[4] = 'world' # 如果索引越界了,会报错


def testQiepian():
    lst2 = lst[:2]  # 从0到2,不包含2
    lst2 = lst[0:2] # 从0到2,不包含2
    lst2 = lst[2:]  # 从 2 到 len -1 包含 2
    lst2 = lst[:]   # 全部
    for i in lst2:
        print(i)

# 主函数
if __name__ == "__main__":
    # testAppend()
    # getLen()
    #testInsert()
    #testDelete()
    #testEdit()
    #show()
    # testQiepian()

    #lst = ['a','b','c']
    #lst2 = ['e','f']
    #info = lst + lst2
    #print(info)

    #lst.append('k')
    #print(lst)

    #lst2.insert(1,'k')
    #print(lst2)

    #lst.extend(lst2)
    #print(lst)

    #t = ('m','n')
    #lst.extend(t)
    #print("--------0--------")
    #print(lst)
    #print("--------1--------")
    #del lst[0] # 删除索引0的元素
    #print(lst)
    #print("--------2--------")
    #del lst[0:2] # 删除索引从0到2不包含2
    #print(lst)
    #print("--------3--------")
    #lst.pop() # 删除了最后一个元素
    #print(lst)
    #print("--------4--------")
    #lst.pop(2) # 删除索引位2的元素
    #print(lst)
    #print("--------5--------")
    #lst.remove('f')
    #lst.remove('k')
    #print(lst)
    #lst.clear()
    #print(lst)

    lst = ['a','b','c','d','e','f']
    idx = lst.index('d',0,5)
    print(idx)

    lst = ['a','b','a','a']
    cut = lst.count('a')
    print(cut)




